package com.example.wweather;

//import DB.Handler_sqlite;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.CalendarView;
import android.widget.DatePicker;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;

public class Registro extends Activity implements OnSeekBarChangeListener {
	int dia;
	int mes;
	int ano;
	String usr;
	String cont;
	String sexo;
	int presup;
	int edad;
	int[] gus;
	int[] cali;
	String medio;
	String ocup;
	String acom;
	CheckBox argentina;
	CheckBox bares;
	CheckBox cafeteria;
	CheckBox china;
	CheckBox corrida;
	CheckBox espanola;
	CheckBox fuente;
	CheckBox gourmet;
	CheckBox italiana;
	CheckBox japonesa;
	CheckBox mariscos;
	CheckBox mexicana;
	CheckBox rapida;
	CheckBox picante;
	CheckBox dulce;
	CheckBox agridulce;
	CheckBox salado;

	TextView cantidaddinero;

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.registro);

		// Edit Text de usuario

		// TexView
		cantidaddinero = (TextView) findViewById(R.id.cantidaddinero);

		// SeekBar
		final SeekBar bar = (SeekBar) findViewById(R.id.seekBar1);
		bar.setOnSeekBarChangeListener(this);

		// Ligamos el boton creado
		Button btnRegistro = (Button) findViewById(R.id.CrearPerfil);
		// Creamos un listener que escuche siempre a ese boton y cuando se
		// presione lanzamos la activity
		btnRegistro.setOnClickListener(new OnClickListener() {
			public void onClick(View view) {

				EditText usuario = (EditText) findViewById(R.id.editText1);
				usr = usuario.getText().toString();
				EditText contrasena = (EditText) findViewById(R.id.textocontrasena);
				usr = usuario.getText().toString();

				RadioButton fem = (RadioButton) findViewById(R.id.fem);
				RadioButton masc = (RadioButton) findViewById(R.id.masc);

				if (fem.isChecked()) {
					sexo = "Mujer";
				} else {
					sexo = "Hombre";
				}
				presup = bar.getProgress();

				RadioButton pie = (RadioButton) findViewById(R.id.pie);
				RadioButton pub = (RadioButton) findViewById(R.id.bici);
				RadioButton bic = (RadioButton) findViewById(R.id.publico);
				RadioButton car = (RadioButton) findViewById(R.id.carro);

				if (pie.isChecked()) {
					medio = "Pie";
				} else if (pub.isChecked()) {
					medio = "Transporte publico";
				} else if (bic.isChecked()) {
					medio = "Bici";
				} else {
					medio = "Carro";
				}
				RadioButton est = (RadioButton) findViewById(R.id.estudiante);
				RadioButton tra = (RadioButton) findViewById(R.id.trabajador);
				RadioButton vis = (RadioButton) findViewById(R.id.turista);

				if (est.isChecked()) {
					ocup = "Estudiante";
				} else if (tra.isChecked()) {
					ocup = "Trabajador";
				} else {
					ocup = "Visitante";
				}
				RadioButton sol = (RadioButton) findViewById(R.id.solo1);
				RadioButton par = (RadioButton) findViewById(R.id.pareja);
				RadioButton fam = (RadioButton) findViewById(R.id.fam);
				RadioButton nin = (RadioButton) findViewById(R.id.grupo);

				if (nin.isChecked()) {
					acom = "Ninos";
				} else if (par.isChecked()) {
					acom = "Pareja";
				} else if (sol.isChecked()) {
					acom = "Solo";
				} else {
					acom = "Familia";
				}

				int calif[] = new int[13];
				argentina = (CheckBox) findViewById(R.id.argentina);
				bares = (CheckBox) findViewById(R.id.bar);
				cafeteria = (CheckBox) findViewById(R.id.cafeteria);
				china = (CheckBox) findViewById(R.id.china);
				corrida = (CheckBox) findViewById(R.id.corrida);
				espanola = (CheckBox) findViewById(R.id.espanola);
				fuente = (CheckBox) findViewById(R.id.fuente);
				gourmet = (CheckBox) findViewById(R.id.gourmet);
				italiana = (CheckBox) findViewById(R.id.italiana);
				japonesa = (CheckBox) findViewById(R.id.japonesa);
				mariscos = (CheckBox) findViewById(R.id.mariscos);
				mexicana = (CheckBox) findViewById(R.id.mexicana);
				rapida = (CheckBox) findViewById(R.id.alemana);
				if (argentina.isChecked()) {
					calif[0] = 2;
				} else {
					calif[0] = 0;
				}
				if (espanola.isChecked()) {
					calif[1] = 2;
				} else {
					calif[1] = 0;
				}
				if (japonesa.isChecked()) {
					calif[2] = 2;
				} else {
					calif[2] = 0;
				}
				if (corrida.isChecked()) {
					calif[3] = 2;
				} else {
					calif[3] = 0;
				}
				if (rapida.isChecked()) {
					calif[4] = 2;
				} else {
					calif[4] = 0;
				}
				if (mexicana.isChecked()) {
					calif[5] = 2;
				} else {
					calif[5] = 0;
				}
				if (bares.isChecked()) {
					calif[6] = 2;
				} else {
					calif[6] = 0;
				}
				if (cafeteria.isChecked()) {
					calif[7] = 2;
				} else {
					calif[7] = 0;
				}
				if (china.isChecked()) {
					calif[8] = 2;
				} else {
					calif[8] = 0;
				}
				if (gourmet.isChecked()) {
					calif[9] = 2;
				} else {
					calif[9] = 0;
				}
				if (italiana.isChecked()) {
					calif[10] = 2;
				} else {
					calif[10] = 0;
				}
				if (mariscos.isChecked()) {
					calif[11] = 2;
				} else {
					calif[11] = 0;
				}
				if (fuente.isChecked()) {
					calif[12] = 0;
				} else {
					calif[12] = -2;
				}

				int gust[] = new int[4];
				picante = (CheckBox) findViewById(R.id.picante);
				dulce = (CheckBox) findViewById(R.id.dulce);
				agridulce = (CheckBox) findViewById(R.id.agridulce);
				salado = (CheckBox) findViewById(R.id.salado);
				if (picante.isChecked()) {
					gust[0] = 2;
				} else {
					gust[0] = 0;
				}
				if (dulce.isChecked()) {
					gust[1] = 2;
				} else {
					gust[1] = 0;
				}
				if (agridulce.isChecked()) {
					gust[2] = 2;
				} else {
					gust[2] = 0;
				}
				if (salado.isChecked()) {
					gust[3] = 2;
				} else {
					gust[3] = 0;
				}
				gus = gust;
				cali=calif;
				DatePicker fecha;
				fecha = (DatePicker) findViewById(R.id.pickerfecha);
				dia = fecha.getDayOfMonth();
				mes = fecha.getMonth();
				ano = fecha.getYear();
				edad = calcularEdad(dia + "-" + mes + "-" + ano);
				Registrar();

			}
		});

	}

	public static int calcularEdad(String fecha) {
		String datetext = fecha;
		try {
			Calendar birth = new GregorianCalendar();
			Calendar today = new GregorianCalendar();
			int age = 0;
			int factor = 0;
			Date birthDate = new SimpleDateFormat("dd-MM-yyyy").parse(datetext);
			Date currentDate = new Date(); // current date
			birth.setTime(birthDate);
			today.setTime(currentDate);
			if (today.get(Calendar.MONTH) <= birth.get(Calendar.MONTH)) {
				if (today.get(Calendar.MONTH) == birth.get(Calendar.MONTH)) {
					if (today.get(Calendar.DATE) > birth.get(Calendar.DATE)) {
						factor = -1; // Aun no celebra su cumpleaños
					}
				} else {
					factor = -1; // Aun no celebra su cumpleaños
				}
			}
			age = (today.get(Calendar.YEAR) - birth.get(Calendar.YEAR))
					+ factor;
			return age;
		} catch (ParseException e) {
			return -1;
		}

	}

	public void Registrar() {
		Intent iniciaJuego = new Intent(this, MainActivity.class);
		iniciaJuego.putExtra("Edad",edad);
		iniciaJuego.putExtra("Sexo",sexo);
		iniciaJuego.putExtra("Medio",medio);
		iniciaJuego.putExtra("Ocup",ocup);
		iniciaJuego.putExtra("Acomp",acom);
		iniciaJuego.putExtra("Pres",presup);
		iniciaJuego.putExtra("Gustos",gus);
		iniciaJuego.putExtra("Califs",cali);
		startActivity(iniciaJuego);
	}

	@Override
	public void onProgressChanged(SeekBar seekBar, int progress,
			boolean fromUser) {
		cantidaddinero.setText("$" + progress);

	}

	@Override
	public void onStartTrackingTouch(SeekBar seekBar) {
		// TODO Auto-generated method stub

	}

	@Override
	public void onStopTrackingTouch(SeekBar seekBar) {
		// TODO Auto-generated method stub
		seekBar.setSecondaryProgress(seekBar.getProgress());

	}

}
